#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define	SIZE	40001
#define MAX_N	50
typedef  unsigned char Match[2 * MAX_N];

Match tab[SIZE];
int row[SIZE];

int cmpMatch(const void * m1, const void * m2) {
	int i; 
	for(i = 0; i < 2 * MAX_N; i++) {
		if((*(Match*)m1)[i] > (*(Match*)m2)[i])
			return 1;
		if((*(Match*)m1)[i] < (*(Match*)m2)[i])
			return -1;
	}
	return 0;
}

void show(int s, int m) {
	int i, j;
	for(i = 0; i < s; i++) {
		for(j = 0; j < m; j++) {
			printf("%d", tab[i][j]);
		}
		printf("\n");
	}
}

int main() {
	int n, m, i, j, k, c = 0, g = 0;
	for(i = 0; i < SIZE; i++) {
		for(j = 0; j < 2 * MAX_N; j++)
			tab[i][j] = 0;
	}
	scanf("%d %d", &n, &m);
	for(i = 0; i < m; i++) {
		for(j = 0; j < n/2; j++) {
			scanf("%d", &c);
			tab[c-1][g] = 1;
		}
		g++;
		for(j = 0; j < n/2; j++) {
			scanf("%d", &c);
			tab[c-1][g] = 1;
		}
		g++;
	}
	//show(n, m);
	qsort(tab, n, sizeof(Match), cmpMatch);
	//printf("\n");
	//show(n, m);
	for(i = 0; i < n - 1; i++) {
		if(cmpMatch(tab[i], tab[i+1]) == 0) {
			printf("NIE\n");
			return 0;
		}
	}
	printf("TAK\n");
	return 0;
}